﻿using System;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FW;
using System.Diagnostics;
using System.IO;


namespace kserv
{
    public partial class configuracao : Form
    {
        private Form1 _parentform;
        private string chave = "q1w2e3r4t5y6u7i8o9p0zaxscdvfbgnhmjkl";

        public configuracao(Form1 _frm)
        {
            InitializeComponent();
            _parentform = _frm;

        }



        private void button1_Click(object sender, EventArgs e)
        {
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                tb_tempdir.Text = folderBrowserDialog1.SelectedPath;
            }
        }

        private void configuracao_Load(object sender, EventArgs e)
        {
            ////pop3
            //tb_pop3.Text = Properties.app.Default.pop3.ToString();
            //tb_usuario.Text = Properties.app.Default.usuario.ToString();
            //tb_senha.Text = Properties.app.Default.senha.ToString();
            //cb_apagaremail.Checked = Properties.app.Default.apagaEmail;
            ////smtp
            //tb_smtp.Text = Properties.app.Default.SMTP;
            //tb_usmtp.Text = Properties.app.Default.susuario;
            //tb_ssmtp.Text = Properties.app.Default.ssenha;
            ////local
            //tb_tempdir.Text = Properties.app.Default.tempdir.ToString();
            //cb_arqXml.Checked = Properties.app.Default.armXml;
            ////db
            //tb_connstr.Text = Properties.app.Default.dbinfeconnstring.ToString();
            ////reenvio
            //cb_historico.Checked = Properties.app.Default.enviarhistorico;
            //cb_verifica.Checked = Properties.app.Default.enviarverificacao;
            //tb_ehistorico.Text = Properties.app.Default.ehistorico;
            //tb_everificacao.Text = Properties.app.Default.everifica;
            //// timer
            //ud_tempo.Value = Properties.app.Default.intervalo/60000;
            //ck_agendamento.Checked = Properties.app.Default.timerativo;
            crypt cr = new crypt();
            
            configSRV cfg = new configSRV();
            //pop3
            tb_pop3.Text = cfg.POP3;// Properties.app.Default.pop3.ToString();
            tb_usuario.Text = cfg.USUARIO; // Properties.app.Default.usuario.ToString();
            tb_senha.Text = cr.encrypt(chave, cfg.SENHA);// Properties.app.Default.senha.ToString();
            cb_apagaremail.Checked = cfg.APAGAEMAIL; // Properties.app.Default.apagaEmail;
            //smtp
            tb_smtp.Text = cfg.SMTP; // Properties.app.Default.SMTP;
            tb_usmtp.Text = cfg.SMTPUSUARIO; // Properties.app.Default.susuario;
            tb_ssmtp.Text = cr.encrypt(chave, cfg.SMTPSENHA); // Properties.app.Default.ssenha;
            //local
            tb_tempdir.Text = cfg.TEMPDIR; // Properties.app.Default.tempdir.ToString();
            cb_arqXml.Checked = cfg.ARMXML; // Properties.app.Default.armXml;
            //db
            tb_connstr.Text = cfg.DBINFECONNSTRING;// Properties.app.Default.dbinfeconnstring.ToString();
            //reenvio
            cb_historico.Checked = cfg.ENVIARHISTORICO; // Properties.app.Default.enviarhistorico;
            cb_verifica.Checked = cfg.ENVIARVERIFICACAO; // Properties.app.Default.enviarverificacao;
            tb_ehistorico.Text = cfg.EHISTORICO; // Properties.app.Default.ehistorico;
            tb_everificacao.Text = cfg.EVERIFICA; // Properties.app.Default.everifica;
            // timer
            ud_tempo.Value = (decimal) (cfg.INTERVALO / 60000);// Properties.app.Default.intervalo / 60000;
            ck_agendamento.Checked = cfg.TIMERATIVO; // Properties.app.Default.timerativo;
            tb_wsURL.Text = cfg.WSDBIURL;
            tb_wslogin.Text = cfg.WSDBILOGIN;
            tb_wsSenha.Text = cfg.WSDBISENHA;

            cr = null;
        
        
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ////pop3
            //Properties.app.Default.senha = tb_senha.Text;
            //Properties.app.Default.pop3 = tb_pop3.Text;
            //Properties.app.Default.usuario = tb_usuario.Text;
            //Properties.app.Default.apagaEmail = cb_apagaremail.Checked;
            ////smtp
            //Properties.app.Default.SMTP = tb_smtp.Text ;
            //Properties.app.Default.susuario = tb_usmtp.Text ;
            //Properties.app.Default.ssenha = tb_ssmtp.Text ;
            ////local
            //Properties.app.Default.tempdir = tb_tempdir.Text;
            //Properties.app.Default.armXml = cb_arqXml.Checked;
            ////db
            //Properties.app.Default.dbinfeconnstring = tb_connstr.Text;
            ////reenvio
            //Properties.app.Default.enviarhistorico = cb_historico.Checked;
            //Properties.app.Default.enviarverificacao = cb_verifica.Checked;
            //Properties.app.Default.ehistorico = tb_ehistorico.Text;
            //Properties.app.Default.everifica = tb_everificacao.Text;
            //// timer
            //Properties.app.Default.intervalo = 60000 * Convert.ToInt16(ud_tempo.Value) ;
            //Properties.app.Default.timerativo = ck_agendamento.Checked;

           
            //Properties.app.Default.Save();
            //Properties.app.Default.Reload();

            crypt cr = new crypt();

            configSRV cfg = new configSRV();
            //pop3
            cfg.SENHA = cr.encrypt(chave, tb_senha.Text);
            cfg.POP3 = tb_pop3.Text;
            cfg.USUARIO = tb_usuario.Text;
            cfg.APAGAEMAIL = cb_apagaremail.Checked;
            //smtp
            cfg.SMTP = tb_smtp.Text;
            cfg.SMTPUSUARIO = tb_usmtp.Text;
            cfg.SMTPSENHA = cr.encrypt(chave, tb_ssmtp.Text);
            //local
            cfg.TEMPDIR = tb_tempdir.Text;
            cfg.ARMXML = cb_arqXml.Checked;
            //db
            cfg.DBINFECONNSTRING = tb_connstr.Text;
            //reenvio
            cfg.ENVIARHISTORICO = cb_historico.Checked;
            cfg.ENVIARVERIFICACAO = cb_verifica.Checked;
            cfg.EHISTORICO = tb_ehistorico.Text;
            cfg.EVERIFICA = tb_everificacao.Text;
            // timer
            cfg.INTERVALO = 60000 * Convert.ToInt16(ud_tempo.Value);
            cfg.TIMERATIVO = ck_agendamento.Checked;
            cfg.WSDBIURL = tb_wsURL.Text;
            cfg.WSDBILOGIN = tb_wslogin.Text;
            cfg.WSDBISENHA = tb_wsSenha.Text;

            cfg.gravarSettings();

            //cfg.gravarSettings();

            cr = null;

            //_parentform.carregarConfig();

            this.Close();
        }

        private void label12_DoubleClick(object sender, EventArgs e)
        {
            string caminho = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
            caminho = "\"" + caminho + "\\KCAD_db_install.txt\"";
            Process proc = new Process();
            proc.StartInfo.FileName = "notepad.exe";
            proc.StartInfo.Arguments = String.Format(caminho);
            proc.Start();
            //System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("notepad", " " + caminho);
        }

        
    }
}
